package com.icinfo.cloud.provider.punish.fastcase.service;

import com.icinfo.cloud.provider.punish.fastcase.dto.FastCaseEvidenceCollectInfoDeleteDto;
import com.icinfo.cloud.provider.punish.fastcase.dto.FastCaseEvidenceCollectInfoSaveDto;
import com.icinfo.cloud.provider.punish.fastcase.dto.FastCaseFormSubmitAddInfoDto;
import com.icinfo.cloud.provider.punish.fastcase.vo.FastCaseEvidenceCollectInfoVo;
import com.icinfo.cloud.provider.punish.fastcase.vo.FastCaseFormSubmitAddInfoVo;
import com.icinfo.cloud.provider.punish.ucase.punishinform.dto.FastCaseAddInfoDto;
import com.icinfo.cloud.provider.punish.ucase.punishinform.dto.FastCaseAddInfoTemporaryDto;

import java.util.List;

/**
 * 描述： 简案快办证据采集
 * @author shishengyao
 * @description
 * @date 2023/8/16
 */
public interface IFastCaseFormSubmitService {
    /**
     * 描述：获取证据采集信息
     *
     * @param caseId 用例id
     * @return {@link FastCaseEvidenceCollectInfoVo }
     * @author shishengyao
     * @date 2023/08/16
     */
    FastCaseEvidenceCollectInfoVo getEvidenceCollectInfo(String caseId);

    /**
     * 描述：保存证据采集信息
     *
     * @param saveDto 保存dto
     * @return int
     * @author shishengyao
     * @date 2023/08/17
     */
    int saveEvidenceCollectInfo(FastCaseEvidenceCollectInfoSaveDto saveDto);
    /**
     * 描述：暂存证据采集信息
     *
     * @param saveDto 保存dto
     * @return int
     * @author shishengyao
     * @date 2023/08/17
     */
    int saveEvidenceCollectInfoTemporary(FastCaseEvidenceCollectInfoSaveDto saveDto);
    /**
     * 简案快办补充信息保存
     * @author liyafeng
     * @date 2023/4/20
     * @param fastCaseAddInfoDto
     * @return {@link int}
     */
    int saveInvestigateEnd(FastCaseFormSubmitAddInfoDto fastCaseAddInfoDto);
    /**
     * 简案快办补充信息暂存
     * @author liyafeng
     * @date 2023/5/6
     * @param fastCaseAddInfoDto
     * @return {@link int}
     */
    int saveInvestigateEndTemporary(FastCaseFormSubmitAddInfoDto fastCaseAddInfoDto);

    /**
     * 简案快办补充信息暂存获取
     * @author liyafeng
     * @date 2023/5/6
     * @param dto
     * @return {@link FastCaseAddInfoDto}
     */
    FastCaseFormSubmitAddInfoVo getFastCaseAddInfoTemporary(FastCaseAddInfoTemporaryDto dto);
    /**
     * 描述：获取证据列表名称
     * aram caseId
     * @return {@link List<String> }
     * @author shishengyao
     * @date 2023/09/06
     */
    List<String> getEvidenceCollectInfoNameList(String caseId);

    /**
     * 描述：删除证据
     * @param dto
     * @return int
     * @author shishengyao
     * @date 2023/09/06
     */
    Boolean delEvidenceCollectInfo(FastCaseEvidenceCollectInfoDeleteDto dto);
}
